]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
ScreenShield: separate notifications for active and locked
authorGiovanni Campagna <gcampagna@src.gnome.org>
Sat, 2 Feb 2013 16:10:45 +0000 (17:10 +0100)
committerGiovanni Campagna <gcampagna@src.gnome.org>
Sun, 3 Feb 2013 13:59:58 +0000 (14:59 +0100)
Now that we have an explicit active-but-not-locked state, we should
use different signals to notify changes. lock-status-changed is
renamed to active-changed, and a new locked-changed is introduced.

https://bugzilla.gnome.org/show_bug.cgi?id=693007

js/ui/screenShield.js
js/ui/shellDBus.js

index b972eaa4a39cb3e24377e28ddc2f20a6c72dc8b2..8db0f4d6a26788874141948ee659c91641452a1c 100644 (file)
@@ -536,6 +536,7 @@ const ScreenShield = new Lang.Class({
         this._hasLockScreen = false;
         this._isGreeter = false;
         this._isActive = false;
+        this._isLocked = false;
         this._inUnlockAnimation = false;
         this._activationTime = 0;
         this._becameActiveId = 0;
@@ -956,7 +957,7 @@ const ScreenShield = new Lang.Class({
         this._isActive = true;
 
         if (prevIsActive != this._isActive)
-            this.emit('lock-status-changed');
+            this.emit('active-changed');
 
         this.emit('lock-screen-shown');
     },
@@ -1067,7 +1068,8 @@ const ScreenShield = new Lang.Class({
         this._activationTime = 0;
         this._isActive = false;
         this._isLocked = false;
-        this.emit('lock-status-changed');
+        this.emit('active-changed');
+        this.emit('locked-changed');
     },
 
     activate: function(animate) {
@@ -1085,7 +1087,7 @@ const ScreenShield = new Lang.Class({
 
         this._resetLockScreen(animate, animate);
 
-        // We used to set isActive and emit lock-status-changed here,
+        // We used to set isActive and emit active-changed here,
         // but now we do that from lockScreenShown, which means
         // there is a 0.3 seconds window during which the lock
         // screen is effectively visible and the screen is locked, but
@@ -1105,6 +1107,8 @@ const ScreenShield = new Lang.Class({
 
         this._isLocked = true;
         this.activate(animate);
+
+        this.emit('locked-changed');
     },
 });
 Signals.addSignalMethods(ScreenShield.prototype);
@@ -1138,13 +1142,13 @@ const ScreenShieldFallback = new Lang.Class({
         else
             this._locked = false;
 
-        this.emit('lock-status-changed', this._locked);
+        this.emit('active-changed', this._locked);
     },
 
     _onSignal: function(proxy, senderName, signalName, params) {
         if (signalName == 'ActiveChanged') {
             [this._locked] = params.deep_unpack();
-            this.emit('lock-status-changed', this._locked);
+            this.emit('active-changed', this._locked);
         }
     },
 
index 44ddf749cb764f7c0e9d493151cb7a46cd56ede9..a396758a5b7ba61bb6d12d7230af67fefaa9d66c 100644 (file)
@@ -247,7 +247,7 @@ const ScreenSaverDBus = new Lang.Class({
         this.parent();
 
         this._screenShield = screenShield;
-        screenShield.connect('lock-status-changed', Lang.bind(this, function(shield) {
+        screenShield.connect('active-changed', Lang.bind(this, function(shield) {
             this._dbusImpl.emit_signal('ActiveChanged', GLib.Variant.new('(b)', [shield.active]));
         }));